WIndowAPI ウィンドウを塗る
概要
Windowの塗りつぶし処理は、WMPAINTメッセージを使用して行われる。ユーザー(プログラマ)はタイトルバー以外のクライアント領域のみを塗ることができる。 ウィンドウの描画処理はRegionによって管理されている。
https://scrapbox.io/files/6159135717d345001de72cda.png 塗る場所の座標系は左上が(0,0)で定義。
WMPAINTはWIndow起動時とRegion更新時に出される。(Updatewindow, redrawwindow) code:cpp
switch (uMsg)
{
case WM_PAINT:
{
PAINTSTRUCT ps;
HDC hdc = BeginPaint(hwnd, &ps);
FillRect(hdc, &ps.rcPaint, (HBRUSH) (COLOR_WINDOW+1));
EndPaint(hwnd, &ps);
}
return 0;
}
PAINTSTRUCT : クライアントのどの領域を塗りつぶすか決める構造体
BeginPaint : 塗りつぶすことを宣言する。
ウィンドウハンドル, PAINTSTRUCTハンドル
EndPoint : 塗りつぶすことを終えることを宣言する。
ウィンドウハンドル, PAINTSTRUCTハンドル
FillRect : 領域を塗りつぶす。
わからないこと
HBRUSHについてよくわからない